package com.zelix;

import java.io.PrintWriter;
import java.util.*;


public abstract class q0 extends p0
{

    String c;
    private ly d;
    private my e;
    yg f;
    yx g;
    public static boolean h;
    private static String z[];

    public q0(String s, yg yg1)
    {
        c = s;
        f = yg1;
    }

    public q0(String s, ly ly1, my my1, yx yx1, yg yg1)
    {
        c = s;
        g = yx1;
        d = ly1;
        e = my1;
        f = yg1;
    }

    public final void a(o0 o0_1, PrintWriter printwriter)
    {
        super.a.push(o0_1.a());
        c(o0_1, printwriter);
        super.a.pop();
    }

    public final void a(o0 o0_1, HashMap hashmap)
    {
        c(o0_1, hashmap);
    }

    private boolean a(String s, boolean flag, String s1)
    {
label0:
        {
            String s3;
label1:
            {
                if(s == null || s.length() == 0)
                    return false;
                if(!s.endsWith(z[10]))
                    break label0;
                String s2 = s.toLowerCase();
                if(s2.indexOf(s1) > -1)
                    return true;
                if(flag)
                {
                    s3 = a(2);
                    if(!h)
                        break label1;
                }
                s3 = a();
            }
            if(s3 != null)
            {
                String s4 = s3.toLowerCase();
                if(s4.indexOf(s1) > -1)
                    return true;
            }
            return false;
        }
        if(s.equals(z[11]))
            return false;
        return s.indexOf(z[9]) == -1;
    }

    String a(String s, HashMap hashmap, String s1)
    {
        String s2 = lt.b(s);
        String s3 = (String)px.a(s2, d);
        mt mt = fh.a(s3);
        if(mt != null)
            hashmap.put(mt, s1);
        return lt.a(s3);
    }

    void a(String s, HashMap hashmap, String s1, String s2, boolean flag)
    {
        if(s.length() > zo.n && s.indexOf('/') == -1 && s.indexOf(".") > 0 && s.lastIndexOf(".") < s.length() - 1 && a(s2, flag, z[15]))
            a(s, hashmap, s1);
    }

    void c(o0 o0_1, HashMap hashmap)
    {
        StringBuffer stringbuffer;
        Enumeration enumeration;
        boolean flag;
        flag = h;
        stringbuffer = new StringBuffer("'" + c + z[14] + o0_1.a() + z[13]);
        enumeration = o0_1.b();
        if(!flag) goto _L2; else goto _L1
_L1:
        wu wu1 = (wu)enumeration.nextElement();
        String s = (String)wu1.a();
        stringbuffer.append(s + z[12]);
        wu wu2 = o0_1.a(wu1);
        String s1 = (String)wu2.a();
        a(s1, hashmap, stringbuffer.toString(), s, false);
_L2:
        if(!enumeration.hasMoreElements())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    void b(String s, HashMap hashmap, String s1)
    {
        String s2;
label0:
        {
            int i = s.indexOf(z[5]);
            if(i == -1)
            {
                s2 = s;
                if(!h)
                    break label0;
            }
            s2 = s.substring(0, i);
        }
        if(!s2.equals(z[7]) && !s2.equals(z[8]) && !s2.equals(z[6]) && !s2.equals(z[3]) && !s2.equals(z[0]) && !s2.equals(z[2]) && !s2.equals(z[4]) && !s2.equals(z[1]))
            a(s2, hashmap, s1);
    }

    void a(String s, String s1, HashMap hashmap, String s2)
    {
        fh fh1;
        boolean flag;
        flag = h;
        String s3 = lt.b(s);
        fh1 = fh.b(s3);
        if(!flag) goto _L2; else goto _L1
_L1:
        lu alu[];
        int i;
        if((alu = f.a(fh1.d(), s1)) == null)
            continue; /* Loop/switch isn't completed */
        i = 0;
        if(!flag) goto _L4; else goto _L3
_L3:
        hashmap.put(alu[i], s2);
        i++;
_L4:
        if(i < alu.length) goto _L3; else goto _L5
_L5:
        if(!flag)
            break; /* Loop/switch isn't completed */
        fh1 = fh1.q();
_L2:
        if(fh1 != null) goto _L1; else goto _L6
_L6:
    }

    public final void b(o0 o0_1, PrintWriter printwriter)
    {
        super.a.push(o0_1.a());
        c(o0_1, printwriter);
    }

    public final void b(o0 o0_1, HashMap hashmap)
    {
        super.a.push(o0_1.a());
        c(o0_1, hashmap);
    }

    private void c(o0 o0_1, PrintWriter printwriter)
    {
        Enumeration enumeration;
        boolean flag;
        flag = h;
        enumeration = o0_1.b();
        if(!flag) goto _L2; else goto _L1
_L1:
        wu wu1 = (wu)enumeration.nextElement();
        wu wu2 = o0_1.a(wu1);
        wu2.a(a((String)wu2.a(), (String)wu1.a(), false));
_L2:
        if(!enumeration.hasMoreElements())
        {
            printwriter.print(o0_1.toString());
            return;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }

    String d(String s)
    {
        String s1 = s.replace('.', '/');
        String s2 = (String)px.a(s1, d);
        return s2.replace('/', '.');
    }

    String a(String s, String s1)
    {
        boolean flag = h;
        if(e == null) goto _L2; else goto _L1
_L1:
        fh fh1;
        String s2 = lt.b(s);
        fh1 = fh.b(s2);
        if(!flag) goto _L4; else goto _L3
_L3:
        String s3;
        ly ly1;
        HashMap hashmap;
        s3 = fh1.d();
        ly1 = e.a(s3);
        hashmap = null;
        if(ly1 == null) goto _L6; else goto _L5
_L5:
        Enumeration enumeration;
        hashmap = new HashMap();
        enumeration = ly1.b();
        if(!flag) goto _L8; else goto _L7
_L7:
        l5 l5_1 = (l5)enumeration.nextElement();
        l5 l5_2 = (l5)ly1.b(l5_1);
        hashmap.put(l5_2, l5_1);
        if(l5_1.b().equals(s1))
            return l5_2.b();
_L8:
        if(enumeration.hasMoreElements()) goto _L7; else goto _L6
_L6:
        lu alu[];
        int i;
        alu = f.a(s3, s1);
        if(alu == null)
            continue;
        if(hashmap == null)
            break MISSING_BLOCK_LABEL_216;
        i = 0;
        if(!flag) goto _L10; else goto _L9
_L9:
        lu lu1 = (lu)hashmap.get(alu[i]);
        if(lu1 == null || lu1.u().equals(s1))
            return s1;
        i++;
_L10:
        if(i < alu.length) goto _L9; else goto _L11
_L11:
        if(!flag)
            continue;
        return s1;
        fh1 = fh1.q();
_L4:
        if(fh1 != null) goto _L3; else goto _L2
_L2:
        return s1;
    }

    final String a(String s, String s1, boolean flag)
    {
        String s2;
label0:
        {
            s2 = s;
            if(s.length() < zo.n || s1 == null || s1.length() <= 0)
                break label0;
            int i = s.indexOf('/', 1);
            if(i > -1)
            {
                if(i >= s.length() - 1 || !a(s1, flag, z[16]))
                    break label0;
                s2 = g.c(s);
                if(!h)
                    break label0;
            }
            if(s.indexOf('/') == -1)
            {
                int j = s.indexOf('.');
                if(j > 0 && j < s.length() - 1 && a(s1, flag, z[15]))
                    s2 = d(s);
            }
        }
        return s2;
    }

    String e(String s)
    {
        String s1;
        String s2;
label0:
        {
            int i = s.indexOf(z[5]);
            if(i == -1)
            {
                s1 = "";
                s2 = s;
                if(!h)
                    break label0;
            }
            s1 = s.substring(i);
            s2 = s.substring(0, i);
        }
        if(s2.equals(z[7]) || s2.equals(z[8]) || s2.equals(z[6]) || s2.equals(z[3]) || s2.equals(z[0]) || s2.equals(z[2]) || s2.equals(z[4]) || s2.equals(z[1]))
            return s;
        else
            return d(s2) + s1;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x66;
                    break;
                case 1:
                    key = 49;
                    break;
                case 2:
                    key = 127;
                    break;
                case 3:
                    key = 101;
                    break;
                default:
                    key = 109;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[17];
        as[0] = "\n^\021\002";
        as[1] = "\004^\020\t\b\007_";
        as[2] = "\000]\020\004\031";
        as[3] = "\017_\013";
        as[4] = "\002^\n\007\001\003";
        as[5] = "=l";
        as[6] = "\005Y\036\027";
        as[7] = "\004H\013\0";
        as[8] = "\025Y\020\027\031";
        as[9] = "\f_\033\f";
        as[10] = "\bP\022\0";
        as[11] = "\003[\035H\001\017_\024";
        as[12] = "A\021\036\021\031\024X\035\020\031\003";
        as[13] = "A\021\013\004\nAB_B";
        as[14] = "A\021X";
        as[15] = "\005]\036\026\036";
        as[16] = "\000X\023\0";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}